package com.bigbee.foundation;

import java.util.LinkedList;
import java.util.Queue;

/**
 * java.util.Queue
 * 队列，存储一组元素，但是存取必须遵循先进先出
 * 原则(FIFO  First Input First Output)
 * @author Administrator
 *
 */
public class queue {
	public static void main(String[] args) {
		/*
		 * 队列存储一组元素，并且增删频繁，所以
		 * java认为LinkedList也满足这些特点
		 * 所以使其也实现了Queue作为队列的一个
		 * 实现类
		 */
		Queue<String> queue
			= new LinkedList<String>();
		/*
		 * boolean offer(E e)
		 * 向队列末尾追加新元素(入队操作)
		 */
		queue.offer("one");
		queue.offer("two");
		queue.offer("three");
		queue.offer("four");
		queue.offer("five");
		
		System.out.println(queue);
		
		/*
		 * E poll()
		 * 从队首获取元素(出队操作)
		 * 当获取队首元素后，该元素即从队列中被删除
		 */
		String str = queue.poll();
		System.out.println(str);
		System.out.println(queue);
		
		/*
		 * E peek()
		 * 引用队首元素，但是不做出队操作
		 */
		str = queue.peek();
		System.out.println(str);
		System.out.println(queue);
		
		//遍历队列
		for(int i=queue.size();i>0;i--){
			str = queue.poll();
			System.out.println(str);
		}
	//	while(queue.size()>0){
	//		str = queue.poll();
	//		System.out.println(str);
	//	}
		System.out.println(queue);
	}
}
